It is now conventional for users of interactive computer systems to employ screen based terminals for viewing and manipulating information stored or generated by the computer. This information may constitute text, graphics, facsimile, video, et cetera and conceptually the information can normally reside (or be stored) as display data in files, in the computer or in the terminal itself. It is straightforward to develop computer processes that provide manipulation of any of these forms of data. This manipulation includes displaying the elements of the information in any locations on the viewing screen and relocating the display of the information to any other screen locations.
One scheme for enabling viewing of information is implemented by using objects called pages or frames wherein a page (or frame) is a desired portion of a file of display data (sometimes called a working window onto the file). The screen areas that these pages require to display the information in the pages are of various configurations and sizes which are advantageously a portion or fraction of the size of the viewing screen. Information elements in a page can be placed in any location of the viewing screen and can also be moved around on the screen. At any given time, the page may be fully or partially visible on the screen depending on its location relative to the boundaries of the screen.
In certain computer systems, a plurality of pages can be simultaneously displayed on the viewing screen. Each of these pages can be placed in any location and moved about on the display screen. Pages may be designated as being on top of or below other pages with respect to the user's visibility so that in the event that portions of two or more pages overlap on the screen, only information in the upper page portion is displayed. Information in an overlapped portion of a lower page must be removed or hidden from the user's view.
In a known implementation, a buffer or frame memory stores the various size pages and, under processor control, this stored information is periodically changed by adding new pages and deleting old ones. The user communicates with the processor to update the screen image by identifying which pages in the frame memory are to be displayed by identifiying the location that each page is to assume on the screen and by designating each of the several pages as being on top of or below other pages. Periodically and/or each time the image is updated, the processor transfers the information in the identified pages from the frame memory to appropriate locations in a display memory whose storage size and configuration is appropriate for the size and configuration of the screen. The transfer process also provides for removing the information from the overlapped portions of lower pages. The display memory is periodically scanned and the information in this memory is displayed on the display screen, information in upper pages being visible to the user and information in overlapped portions of lower pages being hidden from view. In this known implementation, however, the transfer processing from the frame memory to the display memory is complex and time consuming.
It may be apparent to those skilled in the art that an alternate transfer scheme would constitute transferring the several pages to the display memory in an ascending bottom-to-top order. The information in the topmost page, transferred last, thus overwrites the information in lower overlapped page portions. However, scannings of the display memory during the data transfer process cause the momentary display of the information from lower overlapped page portions (before this data is overwritten) resulting in undesirable screen flicker.
It is an object of this invention to provide transfer processing which is simple and rapid and does not result in the above-described screen flicker.